36 research outputs found

    Towards a Rule-level Verification Framework for Property-Preserving Graph Transformations

    Get PDF
    International audienceWe report in this paper a method for proving that a graph transformation is property-preserving. Our approach uses a relational representation for graph grammar and a logical representation for graph properties with first-order logic formulas. The presented work consists in identifying the general conditions for a graph grammar to preserve graph properties, in particular structural properties. We aim to implement all the relevant notions of graph grammar in the Isabelle/HOL proof assistant in order to allow a (semi) automatic verification of graph transformation with a reasonable complexity. Given an input graph and a set of graph transformation rules, we can use mathematical induction strategies to verify statically if the transformation preserves a particular property of the initial graph. The main highlight of our approach is that such a verification is done without calculating the resulting graph and thus without using a transformation engine

    MODÉLISATION DE PROCÉDÉS LOGICIELS À BASE DE PATRONS RÉUTILISABLES

    Get PDF
    This thesis investigates the reuse of software processes by an approach based on process patterns. The objective of our work is to make process patterns directly applicable in process modeling. The concept of process pattern is used to capture and reuse the proven solutions for recurring process problems. However, this attractive concept has still been poorly exploited due to the inadequate formalization and the lack of supporting methodology and tools. To promote the use of process patterns and reduce the modelling effort, we broaden the concept of process pattern for capturing various types of process knowledge at different abstract levels, and propose ways to reuse (semi-)automatically process patterns in process modelling. We define the process meta-model UML-PP to formalize the process pattern concept and the ways to apply patterns in process models. UML-PP allows describing the internal structure of a process pattern as well as the relations between process patterns, and enables the explicit representation of process patterns' applications in process models. We propose the meta-process PATPRO defining the modelling steps to elaborate a process model in UML-PP by reusing process patterns. To allow automated applications of process patterns, we define an operational semantics for the patterns reuse operators who carry out some tasks of the meta-process. We have developed the prototype PATPRO-MOD allowing to create and manage process patterns catalogues, and to elaborate process models in UML-PP by reusing (semi-)automatically process patterns.Cette thÚse est consacrée à la réutilisation de procédés par une approche à base de patrons de procédé. Le concept de patron de procédé a été introduit pour capitaliser et réutiliser des solutions éprouvées des problÚmes de procédés récurrents. Cependant cette approche est encore peu exploitée à cause du champ de définition limité, du manque de formalisation, de méthodologie et d'outils support. Pour promouvoir l'utilisation de patrons de procédé et réduire l'effort de modélisation, nous considérons le concept de patron de procédé à différents niveaux d'abstraction pour capturer divers types de connaissances sur les procédés, et proposons des moyens pour réutiliser de façon (semi-)automatique ces patrons dans la modélisation des procédés. Nous avons défini le méta-modÚle de procédé UML-PP pour formaliser le concept de patron de procédé et la maniÚre d'appliquer les patrons dans la modélisation de procédés. UML-PP permet de décrire la structure interne d'un patron de procédé ainsi que les relations entre patrons, et permet d'exprimer explicitement l'utilisation de patrons dans les modÚles de procédé. Nous proposons le méta-procédé PATPRO définissant une démarche de modélisation pour élaborer un modÚle de procédé UML-PP en réutilisant des patrons de procédé. Pour permettre une automatisation de l'application de patrons de procédé, nous définissons une sémantique opérationnelle des opérateurs de réutilisation de patrons qui réalisent l'imitation de patrons. Nous avons réalisé le prototype PATPRO-MOD permettant de créer et gérer des catalogues de patrons de procédé et d'élaborer des modÚles de procédé UML-PP en réutilisant semi-automatiquement des patrons prédéfinis

    A Precondition Calculus for Correct-by-Construction Graph Transformations

    Get PDF
    We aim at assisting developers to write, in a Hoare style, provably correct graph transformations expressed in the ALCQ Description Logic. Given a postcondition and a transformation rule, we compute the weakest precondition for developers. However, the size and quality of this formula may be complex and hard to grasp. We seek to reduce the weakest precondition’s complexness by a static analysis based on an alias calculus. The refined precondition is presented to the developer in terms of alternative formulae, each one specifying a potential matching of the source graph. The developer chooses then the formulae that correspond to his intention to obtain finally a correct-byconstruction Hoare triple

    Defining and Using Collaboration Patterns for Software Process Development

    Get PDF
    International audienceCollaboration patterns are an efficient way to define, reuse and enact collaborative software development processes. We propose an approach to define and apply collaboration patterns at modelling, instantiation or execution time. Our patterns, inspired from workflow patterns, are described in CMSPEM, a Process Modelling Language developed in our team. In this paper, we briefly describe the CMSPEM metamodel and focus our presentation on two collaboration patterns: Duplicate in Sequence with Multiple Actors, Duplicate in Parallel with Multiple Actors and Merge. The approach is illustrated by a case study concerning the collaborative process “Review a deliverable

    A User-centric Process Management for System and Software Engineering Projects

    Get PDF
    In traditional process environments, process modeling is performed by process designers and process enacting is performed by process actors. Due to this separation, there is often a gap between process models and their real enactments. As a consequence, the operational level of process environments has stayed low, especially in system and software industry, because they are not directly relevant to process actors’ needs. In order to facilitate the usage of process environments, this paper presents a solution that enables process actors to perform both the modeling and enacting of their real processes. To this end, ïŹrst, an end-user process modeling approach was proposed to allow each process actor to easily describe the process fragment containing the activities carried out by his role. Second, an artifact-centric process engine was developed to enact activities coming from different process fragments. Our process engine does not require predeïŹned work-sequence relations among these activities to synchronize them, but deduces such dependencies from their exchanged artifacts. As a result, the process engine can enact even a partially deïŹned process where some fragments are missing

    Attribute Computations in the DPoPb Graph Transformation Engine

    Get PDF
    One of the challenges of attributed graph rewriting systems concerns the implementation of attribute computations. Most of the existing systems adopt the standard algebraic approach where graphs are attributed using sigma-algebras. However, for the sake of efficiency considerations and convenient uses, these systems do not generally implement the whole attribute computations but rely on programs written in a host language. In previous works we introduced the Double Pushout Pullback (DPoPb) framework which integrates attributed graph rewriting and computation on attributes in a unified categorical approach. This paper discusses the DPoPb’s theoretical and practical advantages when using inductive types and lambda-calculus. We also present an implementation of the DPoPb system in the Haskell language which thoroughly covers the semantics of this graph rewriting system

    Towards a tool-supported approach for collaborative process modeling and enactment

    Get PDF
    International audienceIn software engineering, as in any collective endeavor, understanding and supporting collaboration is a major concern. Unfortunately, the main concepts of popular process formalisms are not always adequate to describe collaboration. We extend the Software & System Process Engineering Meta-Model (SPEM) by introducing concepts needed to represent precise and dynamic collaboration setups that practitioners create to address ever-changing challenges. Our goal is to give practitioners the ability to express evolving understanding about collaboration in a formalism suited for easy representation and tool-provided assistance. Our work is based on a collaborative process metamodel we have developed. In this paper, we first present a meta-process for process modeling and enactment, which we apply to our collaborative process metamodel. Then we describe the implementation of a suitable process model editor, and a project plan generator from process models

    Alignment of viewpoint heterogeneous design models: Emergency Department Case Study

    Get PDF
    International audienceGenerally, various models can be used to describe a given application domain on different aspects and thus give rise to several views. To have a complete view of the application domain, heterogeneous models need to be unified, which is a hard task to do. To tackle this problem, we have proposed a method to relate partial models without combining them in a single model. In our approach, partial models are organized as a network of models through a virtual global model called M1C (Model of correspondences between models) which conforms to a ubiquitous language based on a Meta-Model of Correspondences (MMC). This paper presents an application of our method to an “Emergency Department” case study. It has been performed as a collaborative process involving model designers and a supervisor. The focus is put on the building of the M1C model from 3 partial models
    corecore